Messaging window overlay for a browser

ABSTRACT

A system and process for launching a messaging window such as a chat bot, especially on a mobile platform, such a smart phones and tablets, is described. The process begins with displaying a web page with webpage contents in a browser window with a primary top bar and a display window. In response to receiving user input to scroll the webpage contents of the browser window are scrolled in a horizontal direction, a vertical direction, or a combination thereof. Also, a secondary top bar, as a previously invisible graphical element within the webpage contents of the web page is now displayed in substantial position and with the substantially the same appearance to look like the primary the top bar. In response to receiving user input in the vicinity of the secondary top bar, the system triggers a presentation of a messaging window or chat window.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is which is a continuation and claims priority fromprior U.S. Provisional Patent Application No. 62/188,125, filed on Jul.2, 2015, a continuation-in-part of and claims priority from prior U.S.patent application Ser. No. 14/287,815, filed on May 27, 2014, which isa continuation-in-part of and claims priority from prior U.S. patentapplication Ser. No. 13/277,420, filed on Oct. 20, 2011, now U.S. Pat.No. 8,738,739, which is a continuation-in-part of and claims priorityfrom prior U.S. patent application Ser. No. 13/084,060, filed on Apr.11, 2011, now U.S. Pat. No. 8,949,377, which is a continuation-in-partof prior U.S. patent application Ser. No. 12/124,531, filed on May 21,2008, now U.S. Pat. No. 7,962,578, the entire disclosure of eachapplication is incorporated by reference herein in its entirety.

PARTIAL WAIVER OF COPYRIGHT

All of the material in this patent application is subject to copyrightprotection under the copyright laws of the United States and of othercountries. As of the first effective filing date of the presentapplication, this material is protected as unpublished material.However, permission to copy this material is hereby granted to theextent that the copyright owner has no objection to the facsimilereproduction by anyone of the patent documentation or patent disclosure,as it appears in the United States Patent and Trademark Office patentfile or records, but otherwise reserves all copyright rights whatsoever.

FIELD OF THE INVENTION

This present invention generally relates to the field of internet basedmarketing and advertising, and more specifically to targetedadvertisement, targeted messaging, on an interface for a browser.

BACKGROUND OF THE INVENTION

The sales of mobile computing devices including smartphones and tabletscontinue to outpace the sales of desktop computers. Owners of websitestry reduce the rate at which users abandon their web sites prior tocompleting registration, completing a lead form or abandoning a shoppingcart before final checkout. There are many reasons why users abandonwebsites. One reason is users are often distracted or confused wheninteracting with websites. Distractions can be caused by interruptionsor simply by rushing or simply a change in expectation, i.e.registration to the website is required. For example, social networkingsites typically require registration. Many times a user will oftenbecome bashful or unwilling to share information. Although the term“website publishers” and “web retailers” are used throughout thisapplication, it is important to note that the term Lead generation(commonly abbreviated as lead-gen) is a marketing term that refers tothe creation or generation of prospective consumer interest or inquiryinto a business's products or services. Often, lead generation isassociated with marketing activity targeted at generating salesopportunities for a company's sales force. Lead generation often uses alead form such as a questionnaire for insurance, mortgage, loan, creditcard, pre-paid card and the like. A lead is therefore correctlydescribed as information regarding or provided by a consumer that may beinterested in making a purchase; whereas, generation is one of a myriadof activities that may produce that information and perceived interest.

SUMMARY OF THE INVENTION

The present invention, also known as TeamSalesAgent™ (TSA) mobileedition, is the solution for e-commerce, lead generation andco-registration websites and web-enabled applets presenting web pagesinterested in increasing sales, dramatically improving their level ofcustomer service and decreasing the company's overhead costs of using“live” sales agents. This unique chat technology fuses self-learning,artificial intelligence with the popularity and ease of onlinemessaging. TeamSalesAgent works 24/7/365 to deliver increasedconversions and decreased abandonment.

TeamSalesAgent Benefits include:

-   -   Working with mobile phones and tablets    -   Make web retailer's site interactive.    -   Adds social interaction to social networking sites.    -   Increase web retailer's registrations/memberships.    -   Increase web retailer's sales.    -   Increase web retailer's conversation rates.    -   Drastically decrease web retailer's shopping cart abandonment.    -   Make web retailer's site interactive.    -   Up-Sell & Cross-Sell additional products.    -   No turnaround time for customers-immediate service    -   Easy integration.    -   Real time success and failure analysis to new products and sales        efforts.

The present invention is uniquely designed to interact with webretailer's customers with real agent reaction times as they give astuteanswers directly concerning web retailer's products and goals or offerincentives to complete an action. The patented artificial intelligenceengine uses the combination of Bayesian probability and statisticskeyword selection, natural language parsing and regular expressionprocessing. Every client interaction is recorded and analyzed, and as aresult of the analysis, changes in the answer database are made.

More specifically, the present invention provides a method to present abrowser-based chat and messaging window (“chat window”) made to looklike an instant message window from a live person as an exit pop when auser exits a web site. In another example, the present inventionlaunches a chat window during a session, such as after a settable periodof time, or after settable period of user inactivity or a combination ofboth. Many times, a user will abruptly terminate a shopping cart,registration or lead abandonment at a website. In one example, themethod includes presenting at least one messaging window after theend-user terminates a web session. Next a message is displayed to theend-user through the messaging window. The response from the end-user isreviewed using a combination of scripting and artificial intelligence.In this example the scripting, the messaging window and the artificialintelligence are all managed via a web site.

In one example, a computer-implemented method for presenting acustomized chatbot is disclosed. From a perspective of a chatbot server,the method begins with receiving information associated with a firstparty. The first party in this example is an end user of a system suchas wireless device. The information includes demographic information ofthe end user and/or behavioral information of the end user. Typicallythe demographic information is previously gathered through one or moreof an IP address or GPS location of the end user, cookies, andinformation received from the web retailer. Likewise the behavioralinformation is previously gathered through cookies and informationreceived from the web retailer. The behavioral information includesmetadata associated with the end user collected from various sourcesincluding the web page document of the web retailer and other metadatacollected from other sources.

The behavioral information may include a source identifier of how theend user was directed to the web page of the second part. The sourceidentifier may include any of a referring website from which the enduser navigated, a selectable hyperlink selected by the end user. Theselectable hyperlink may be in any of a search engine result, a searchengine sponsored advertisement, a web page advertisement, an email, anda text message.

A chatbot, typically with a messaging window, is presented on the enduser system as a web page document of a second party. The second partyin this example is a web retailer. The messaging window is customized tothe end user based on of the demographic information and/or thebehavioral information of the end user. The messaging window iscustomized to include of one of an initial greeting, an appearance ofthe messaging window, and a picture of an agent, or a combinationthereof. Customization of the messaging window of the chatbot is managedusing a web-based management console hosted by a third party, such asthe assignee of the present patent application.

A trigger may be used to launch the chat bot on the end user system. Thetrigger includes any of leaving the web page, selecting specific links,change in domain, abandon shopping cart, minimizing a web page,inactivity timer expiring, selection of click to chat button, cursorposition on the web page, hover position of a cursor on the web page, ora combination thereof.

In another example, an advertisement from an advertisement database isselected. The third party is typically a seller of a good or servicethat may not be the web page of the web retailer on which the chatbothas been launched. For example, if the web retailer is a furniturestore, the advertisement may be a credit card offer. The advertisementis selected based on the demographic information of the end user and thebehavioral information of the end user. The advertisement is sent to theend user, after a settable period of time. The advertisement can bedelivered to the end user through the chatbot itself. In another examplethe advertisement is delivered to the end user via any of a textmessage, an email message, a voice message, a banner advertisement, aprint advertisement in print media, a broadcast advertisement; a postalmail advertisement, or a combination thereof. Again here, the selectionof the advertisement may be managed using a web-based management consolehosted by a third party, such as the assignee of the present patentapplication.

The messaging interaction between the end user and the chatbot servercontinues. The chatbot server receives a message from end user via themessaging window. Keywords are identified in the message. A response isselected based on the keywords identified in the message. The responseis sent from the chatbot to the end user. In one example the selectingof a response is based on one or more of the demographic information ofthe end user and the behavioral information of the end user.

In one example, a message received by the chatbot from the end user isan explanation for discontinuing a transaction with the web retailer.The advertisement selected from the advertisement database is selectedbased on the explanation received.

Example of explanations by the end user includes any of shipping is tooexpensive, shipping is not available to a shipping address provided bythe end user, a selection of at least one of a good and a serviceoffered by the web retailer party is limited, financing is necessary tocomplete a purchase of at least one of a good and a service offered bythe web retailer, an inadequate security of the web page of the webretailer and the end user is on a public computer, an inconvenient time,an inconvenient location of the computer of the end user to complete thetransaction with the web retailer, or a combination thereof.

Moreover in another example, the chat bot server identifies when the enduser is using a mobile wireless system. Based on the end user systembeing identified as a mobile wireless system, a message is sent from thechatbot to the end user which includes an invite for a voice telephonecall.

In still another example, disclosed a novel system and process forlaunching a messaging window such as a chat bot, especially in a mobileplatforms such a smart phones and tablets. The process begins withdisplaying a web page in a browser window with a primary top bar and adisplay window. For some browsers, the top bar includes a back button,an address bar, a tittle, a browser tab, a home button as well as otherbuttons. In response to receiving user input to scroll the webpagecontents, the webpage contents of the browser window are scrolled in ahorizontal direction, a vertical direction, or a combination thereof.Also, a secondary top bar, as a previously invisible graphical elementwithin the webpage contents of the web page is now displayed insubstantial position and with the substantially the same appearance tolook like the primary the top bar. In response to receiving user inputin the vicinity of the secondary top bar, the system triggers apresentation of a messaging window or chat window.

The foregoing and other features and advantages of the present inventionwill be apparent from the following more particular description of thepreferred embodiments of the invention, as illustrated in theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter, which is regarded as the invention, is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features, and advantages ofthe invention will be apparent from the following detailed descriptiontaken in conjunction with the accompanying drawings in which:

FIG. 1 is a diagram of the overall system for managing deployment andreporting behavior of chatbots, according to the present invention;

FIG. 2 is an example chatbot on a client system, according to thepresent invention;

FIG. 3 is an example chatbot chat window flow from a TSA serverperspective, according to the present invention;

FIG. 4 is an example chatbot chat window flow from a TSA clientperspective, according to the present invention;

FIG. 5 is an example over-all flow from the TSA client-serverperspective illustrating the interactions between the flows of FIG. 3and FIG. 4, according to the present invention;

FIG. 6 is a more detailed flow of block 320 in FIG. 3 illustrating howthe TSA server selects responses, according to the present invention;

FIG. 7 is a block diagram of three internet-based advertising systems:i) an advertising system, ii) a chatbot system, and iii) a remarketingsystem;

FIG. 8 is a data record populated by the chat server with informationincluding reason for discontinuing a transaction;

FIG. 9 is a high level flow of using information from the chatbotsystem;

FIG. 10 is an example of an information processing system according toone embodiment of the present invention;

FIG. 11 is an example of screen shot of a wireless informationprocessing system displaying a web page with a help button;

FIG. 12 is an example of screen shot of a wireless informationprocessing system with a messaging window launched in response to thehelp button;

FIG. 13 is an example over-all flow for selection of the agent, thegreeting, the sales pitch, or combination thereof based on demographicinformation and behavioral information;

FIG. 14A and FIG. 14B is table of information illustrating demographicinformation and behavioral information collected for use in FIG. 13;

FIG. 15 illustrates major components of a web browser rendering a webpage;

FIG. 16 illustrates an example web browsers rendering a web page withprimary top bar with an address bar, a primary title, and a browserwindow;

FIG. 17 illustrates an example web page with secondary top bar with asecondary address bar, a secondary title, and the same browser window ofFIG. 16 after a vertical scroll;

FIG. 18 illustrates a chat window being launched and in focus after thereceiving user input in the vicinity of the secondary top bar; and

FIG. 19 is a flow diagram of replacing or overlaying the primary top barwith a secondary top bar and launching the chat window.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

As required, detailed embodiments of the present invention are disclosedherein; however, it is to be understood that the disclosed embodimentsare merely exemplary of the invention, which can be embodied in variousforms. Therefore, specific structural and functional details disclosedherein are not to be interpreted as limiting, but merely as a basis forthe claims and as a representative basis for teaching one skilled in theart to variously employ the present invention in virtually anyappropriately detailed structure. Further, the terms and phrases usedherein are not intended to be limiting; but rather, to provide anunderstandable description of the invention.

The terms “a” or “an”, as used herein, are defined as at least one ormore than one. The term “plurality”, as used herein, is defined as two,or more than two. The term “another”, as used herein, is defined as atleast a second or more. The terms “including” and/or “having”, as usedherein, are defined as comprising (i.e., open language). The term“coupled”, as used herein, is defined as connected, although notnecessarily directly, and not necessarily mechanically. The terms“program”, “software application”, and the like as used herein, aredefined as a sequence of instructions designed for execution on aninformation processing circuit. A program, computer program, or softwareapplication may include a subroutine, a function, a procedure, an objectmethod, an object implementation, an executable application, an applet,a servlet, a source code, an object code, a shared library/dynamic loadlibrary and/or other sequence of instructions designed for execution onan information processing circuit. Further, the terms “presentinvention” and “Team Sales Agent” or “TSA” or “application” and “applet”are used interchangeably herein.

The term “chatbot” also known as “chatter robot”, “chatterbot”, “virtualagent”, virtual sales agent”, “artificial intelligence agent” or “chatbot” is a computer program designed to simulate an intelligentconversation with one or more human users via auditory or textualmethods, primarily for engaging in small talk. An aim of such simulationhas been to fool the end-user into thinking that the program's outputhas been produced by a human.

Prior to the present invention, publishers and/or retailers had toprimarily rely on exit pops and follow-up emails to attempt to recoverlost customers or cross-sell or up-sell them. The present invention isdesigned to effectively reduce shopping cart, lead and registrationabandonment. The present invention has to be capable of up-selling andcross-selling as well, while providing the customer with a satisfactoryexperience. The present invention is customer friendly and providesreal-time campaign management and reporting for publishers. Powered by aself-learning artificial intelligence engine, the present inventionassists publishers in increasing their revenue opportunities. Thepresent invention has been successfully deployed and continuallyenhanced and improved to meet the changes and needs of a growing market.

The present invention recovers many users that abandon websites or webregistration process. The chatbot assists with the return of a user tothe website or redirection to a third-party website for cross-selling orup-selling. An example would be: sell PC but direct to third-partywarranty company for the purpose of closing the sale, to cross sell,up-sell, or build customer relationship.

The present invention provides web retailers with tight control of theartificial intelligence (AI) programming with fast setup to meet thedemands of fast moving, easy to turn off and short-lived sales campaign.This is especially important to meet sales campaigns, sales promotions,regional customer demands and seasonal purchases.

Further, the term “campaign” is used to denote a web retailer's campaignduring a specific period for a specific area of the web retailer's site.It is important to note that a campaign can be a global campaign, i.e.across multiple web retailers, a target campaign and a default campaign.If a web retailer has only one campaign, by definition it is the defaultcampaign. Further, a “target campaign” can change frequently and bedirected to only certain products and services offered through the webretailer's site.

Overall System

Turning now to FIG. 1 is a diagram of the overall system 100 formanaging deployment and reporting behavior of chatbots. FIG. 1 shows oneor more users or client systems 102, 104, and 106 communicativelycoupled over a communications infrastructure 110 to one or more webservers hosting websites 122, 124, and 126. A user system can include awireless device (e.g., a cellular telephone, a mobile phone, asmartphone and other wireless communication devices such as tabletcomputers), a laptop/computer, a desktop computer, and other informationprocessing systems.

TeamSalesAgent server(s) 130 is also communicately coupled to thecommunications infrastructure 110. The TeamSalesAgent server(s) 130 canbe realized in a centralized fashion in one computer system or in adistributed fashion where different elements are spread across severalinterconnected computer systems. Any kind of computer system—or otherapparatus adapted for carrying out the methods described herein—issuitable. A typical combination of hardware and software could be ageneral purpose computer system with a computer program that, when beingloaded and executed, controls the computer system such that it carriesout the methods described herein.

In general, the routines executed to implement the embodiments of thepresent invention, whether implemented as part of an operating system ora specific application, component, program, module, object or sequenceof instructions may be referred to herein as a “program.” The computerprogram typically is comprised of a multitude of instructions that willbe translated by the native computer into a machine-readable format andhence executable instructions. Also, programs are comprised of variablesand data structures that either reside locally to the program or arefound in memory or on storage devices. In addition, various programsdescribed herein may be identified based upon the application for whichthey are implemented in a specific embodiment of the invention. However,it should be appreciated that any particular program nomenclature thatfollows is used merely for convenience, and thus the invention shouldnot be limited to use solely in any specific application identifiedand/or implied by such nomenclature. Although the exemplary embodimentsof the present invention are described in the context of a fullyfunctional computer system, those skilled in the art will appreciatethat embodiments are capable of being distributed as a program productvia CD or DVD, e.g. CD 132, or other form of recordable media, or viaany type of electronic transmission mechanism.

Chatbot Chat Window

FIG. 2 is an example chatbot chat window on a client system, accordingto the present invention. The chatbot runs on the client device 102,104, and 106 typically after a predefined event. An event is eitherfailure to complete a given process or some other predefined condition.Failed tasks include web site registration, lead form and shopping cartabandonment. A predefined event can also include a completed task suchas shopping cart checkout, where the chatbot is used to cross-sell otherservices, such as warranty services. As shown in FIG. 2, in one examplethe chat window is a messaging window.

When information regarding a specific user is known, the chatbot in oneexample is customized dynamically to the specific user. For example,specific information about the end-user includes demographicinformation, such as, the end-user's address and/or zip code and/or ageand/or gender and/or race. Information about the end-user can be derivedthrough a variety of sources such as previous registrations with theretailer's site, the end-user's IP address, previous interactions withthe chatbot or through other sources. This feature enables highlycustomizable chatbots specifically tailored to the specific user.Moreover, in another embodiment, not only is the “look and feel” of thechatbot customized to a specific user, but the greetings, the salespitch and/or the replies are also customized to a specific user.

The picture of the agent, in this example with the name Kim, or chatbotis shown along with a dialog box between Kim and a user (Web retailer).It is important to note that the layout of the chat window is notlimited to the window shown and many configurations are contemplatedwithin the true scope and spirit of the present invention. In oneexample, the skin or “look and feel” of the layout of standard andcustomizable user interface components and any accompanying graphics ofthe chatbot chat window can be customized. For example, retailer-A maywant a certain color scheme and graphics to match their own corporatebranding, while retailer-B may want another color scheme and graphics tomatch their own corporate branding. These skin definitions are settableusing the TSA management console described in more detail below.Furthermore, these skin definitions can be rotated just as the pictureof the chatbot.

Chatbot Flow

FIG. 3 is an example chatbot chat window flow from a TSA serverperspective, according to the present invention. This process runs whenTSA chatbox window is loaded and the script request is from user on aclient computer browsing a web retailer's web site. Examples of scriptsused to integrate into a web retailer's website are illustrated at theend of this patent. The script code is sent along with various settingsfrom the web-based management console in step 306. Various parameters oruser selectable components are set through the TSA management consolefor the script settings. The script settings can include pitch delay,“agent is typing” message, typing times, and reading timer. These arediscussed further below.

In one example, some of these settings are static, e.g. the varioussettable timers, reading timers, typing timers, are the same for allchat sessions. Other examples of settings are dynamic, e.g. agent photo,agent name, agent picture position on screen, campaign ID, timers, andgreetings, sent only for when the particular chat session is initiated.In another example, the setting can be changed depending on informationreceived from web retailer's site, such as demographic information oreven personal information such as name of chat user. Further informationsuch as a name of the chatbot, a persona presented (personality such asyouthful, mid-western, age, and educational level) to a user, and anational language of the chatbot.

The process loop waits for a request from the chat in step 308. Once arequest is received from chat 308, the process continues withdetermining the type of response, e.g. is it a greeting 310, then selectand output greeting 312 based on preferences setup in TSA managementconsole. Likewise, if the request is a sales pitch request, e.g. is it asales pitch 314 then select and output sales pitch 316 based onpreferences setup in TSA management console. Alternatively, if therequest is a user question request, e.g. is it a user question 318, thenselect and output response 320 based on preferences setup in TSAmanagement console. A more detailed explanation of the responseselection process is discussed in FIG. 6 below.

FIG. 4 is an example chatbot chat window flow from a TSA clientperspective, according to the present invention. The process begins atsetup 402 and immediately proceeds to step 404 where the web retailerpage with code for launching the chatbot is loaded. Examples of the codeembedded in the web retailer page are shown at the end of this patent.

In step 406, the setting from the TSA management console are loaded suchas, but not limited to, sales pitch delay, agent is typing message,typing timer, reading timer, agent photo/name, and chat window position.

The chatbot runs on the client device 102, 104, and 106 typically aftera predefined event. The TSA window can load on various events such asthe end-user leaving a web page, an abandoned shopping cart, a web pagedomain change, or other link selected. It should be understood the TSAwindow can launch on other events such as no input from the end-user fora predetermined amount of time. In one example, an inactivity timer isused to trigger the predefined event. This inactivity timer is set inthe TSA Management console along with other times. Still, in anotherexample, if the web page or primary applet is minimized, this is used tolaunch the chatbot. Still further, one or more cursor positions can beused to trigger when launching the chatbot such as the minimize cursorposition, close cursor position, URL cursor position, help cursorposition, hover for a period of time, and more. Accordingly, a decisionis made whether or not to launch the chatbot chat window based on one ormore even/response pair triggers. This decision to launch is made whilethe end-user is interacting with the web retailer's page or whileinteracting with a specific applet.

Once the chatbot chat window is loaded in step 408 as shown in FIG. 2,the Greeting Request is received 410 from the chat window and TSA server130 produces the Output Greeting 412 to the chatbot chat window. Next, asales pitch is requested 414 and a response received from the TSA server130. The system uses the greeting and sales pitch, collectively known asevents to sell, cross-sell or up-sell a product. The timing and when thesales pitch is displayed depends on whether a user of the chatbot chatwindow enters a question. The sales pitch can be a single entry ormultiple entries to construct overall sales pitch. To begin, a test ismade to determine in step 416 if a No Sales Pitch was received. If a NoSales Pitch was received (i.e. because either the sales pitch iscomplete or the web retailer is not using a sales pitch) the flowcontinues to step 428 and sets the Sales Pitch Complete Flag. Inresponse to a sales pitch received in step 416 (i.e. the test in step416 results in “no”); the sales pitch delay timer is started in step418. When the timer expires, a test is made for user input 420. If thereis user input received, in step 420, the flow continues to step 434. Inresponse to no user input received, then in step 422 an “Agent isTyping” message is posted on the chat window (not shown) on FIG. 2. The“Agent is Typing” message is sent to notify the chat window user that amessage is being formulated. This message is used to make the chatbotappear human rather than automated. Because a human typically will taketime to read and type a response unlike a computer which is only limitedby bandwidth and processing power, a delay “Typing Timer” 424 is set byconfiguration settings in the TSA management console. The sales pitchreceived as determined by the TSA management console settings is thenprinted in the chatbot chat window 426 and the process flows back torequest another sales pitch 414 and then tests for another sales pitchor No Sales Pitch response 416.

In response to sales pitch was complete being completed, i.e. No SalesPitch 416, the Sales Pitch Complete Flag 428 is set and a process loopson whether user input is received 432. Once a user question is received,it is sent to TSA server 103 and a response is received 436. To avoidthe appearance of being too fast responding to a user question, amessage on the chat box chat window “agent is typing” is displayed instep 438 and typing timer is set in step 440 before presenting theresponse 442 to the end-user. In the event the sales pitch was completedin step 430, the process loops in step 432 waiting for user input.Otherwise, the sales pitch process is continued in step 418.

FIG. 5 is an example overall flow from the TSA client-server perspectiveillustrating the interactions between the flows of FIG. 3 and FIG. 4,according to the present invention. The chat window flow 500 begins withthe chat window starting as described in FIG. 3 and example scriptsdiscussed at the end of this patent. Boxes 504 “Send Greeting”, 506“Send Sales Pitch”, 508 “Send user Request”, 510 “Send Response”, and512 “Send HTTP Link” are various requests automatically made by theclient 102, 104, and 106 to the TSA Server 130. The various requests504, 506, 508, 510, and 512 as shown each go into a “Do Call Method”516. The “Do Call Method” helps make the various calls synchronize withthe Chat Engine 550 sitting on TSA server 130. The “Do Call Method” 516includes a queue 518, Wait Time 520 by a predetermined number ofseconds. The predetermined number of seconds is settable through the TSAmanagement console and it should be understood that the 100 ms is anexample only. The flags of Request Queue and the Request Sender Status522 are used to determine whether the request is sent in 524 or theprocess loops back to Wait Time 520. This waiting and loop allow the “DoCall Method” 516 to synchronize if the request queue is “Empty” and therequest sender status is “Free” so the message is sent out.

Chat engine 550 sitting on TSA server 130 receives request from the chatwindow 500 and finds answers to each request to send to the chat window500. The process begins with Get Request Type 552 for passing thevarious requests to different sub-handlers depending on the type of therequest. A response 572 is provided. There are two types of RequestTypes. A first type of request type is handled through the Engine 570using artificial intelligence and/or neural networks. A second type ofrequest type is handled by parameters, settings and responses for acampaign setup using the TSA management console. The sub-handlersinclude a sub-handler for “Greetings” 554, which tests whether the“Response=Random Greeting” is set by the TSA management console. Thesub-handler “Sales Pitch” 558 and whether Reponse=MySite” is set by theTSA management console for a given campaign. The sub-handler “Format”562 helps arrange and convert the answer to a request that is receivedfrom the chat window 500 based upon setting from the TSA managementconsole. The sub-handler “Request” or “User Question” 566 handlesgeneral questions from a user typing in the Chat Window 500. Thesub-handler “User Question” 566 uses the Engine 570 to find a response.

The Engine 570 in one example is a neural network engine. One example ofan engine that has been shown to work advantageously with the presentinvention is disclosed in U.S. Pat. No. 7,529,722, with inventor Gene I.KOFMAN et al., filed on Dec. 22, 2004 entitled “AUTOMATIC CREATION OFNEURO-FUZZY EXPERT SYSTEM FROM ONLINE ANALYTICAL PROCESSING (OLAP)TOOLS”, the teachings of which is hereby incorporated by reference inits entirety. The engine bases its responses on the probability ofmatches to a user question using NeuroFLexSysPR. For error checkingpurposes if no response is found to a question, a no response isselected.

The response is sent from the Chat Engine 550 to Chat Window 500 and themethod 526 handles the presentation of the response to the end-user. Itmay delay the response depending on TSA management console in loop 532and 534. There are several timers set at the management console such as“agent typing timer”, “delay agent timer” and other timers to make thechat bot appear human. The “agent is typing” message 534 is used tonotify the end-user that a response to their questions is beingformulated and composed. This “agent is typing” message is cleared whenthe response is complete.

FIG. 6 is an example overall flow diagram of how TSA server 130 selectsa response in Chat Engine 570, according to the present invention. Againit is important to note that various parameters are set through the TSAmanagement console by the web retailer such as campaign selection,decision method, keyword/response pairs, greetings, sales pitch, and ano response message. These are discussed further below.

The process begins at step 602 where responses to Global Campaigns aresearched in order to identify user's questions that are to be handledthe same, no matter the web retailer's campaign. Next in step 604, if aresponse is found the response is sent in step 612. However, if aresponse is not found, a test is made to determine if this is part of atarget campaign in step 606. If it is part of a target campaign setup bya web retailer to handle a special product line or situation, theresponse for the target campaign is searched in step 608 and if aresponse is found in step 610, the response is sent in step 612. If aresponse is not found to a web retailer's target campaign the processcontinues to look at target campaign's no response settings previouslyset up through the TSA management console and save it, in step 626, forfuture use. If a default campaign exists, step 628, the defaultcampaign, is searched in step 630 and, if the response is found in step632 the response is sent in step 612. However if no response is found instep 632 or if a default campaign is not set up in step 628, thepreviously saved no response from step 626 is sent in step 612. The noresponse found setting in one example causes the chatbot to ask aclarifying question such as “please rephrase your question.”

In the case where the target campaign is not used in step 606, theprocess flows direct to search the hierarchy in step 618 as shown. Anexample of a hierarchy of campaigns is a retailer site having a holidayspecial, then there is holiday terminology in the sales pitch orgreeting or both, such as “Happy Holidays” or “We are running a specialfor Christmas!”. There may also be a winter campaign and a defaultcampaign. Each campaign may offer, for example different discounts,different delivery options and more. A target campaign is said to haveprecedence depending on when it is active. In this case, the campaignmay take precedence from November 1st through December 24th. Thisprecedence-in-time creates a hierarchy. If the holiday special campaignwould answer any questions first from a user and if no answer is found,the system looks to other campaigns including the default campaign. Thisdate-based hierarchy searches campaigns based on each campaign's startdate; the campaign with the earliest start date is searched first. Inthe event a response is found in step 620, this is sent in step 612.However, in the event that no response is found, in step 620, the “noresponse” from the first campaign is set and a no response set in step624 is sent in send response step 612. Although a date precedencehierarchy has been shown, other hierarchies such as sequence numbershave been shown to work advantageously within the true scope and spiritof the present invention.

Overview Internet Advertising

FIG. 7 is a block diagram of three internet based advertising systems:i) an advertising system 720, ii) a chatbot system 750, and iii) aremarketing system 780. Each of these three advertising systems will nowbe discussed in-turn.

Advertising System 720

Starting with advertising system 720, an end-user using a web browser orother applet or application 722 on a computer, such as a smart phone, alaptop or tablet computer, begins by requesting an affiliate website724. In one example, the affiliate website 724 is a website, such as acontent provider with advertising space 726. An advertising server 732which includes the predictive model 728 coupled to one or more contextdatabase(s) 730. The advertising server 732 includes a group of “offers”or direct advertisement in an advertisement database 734.

In operation, when an end-user, browsing on the Internet, accesses anaffiliate's web site 724 which would typically include media content andadvertising space 726, the end-user's browser 722 generates an httpmessage to get the information for the desired Web page. The affiliate'sweb site 724 in response transmits one or more messages back containingthe information to be displayed by the end-user's browser 722. Inaddition, the advertising server 732, using a local database 734containing advertising and user data, provides additional informationcomprising one or more objects, such as a banner advertisement, to bedisplayed in the advertising space 726 along with the informationcontent provided from the affiliate web site 724. Upon clicking throughby selecting the advertising space 726, such as a banner advertisement,the browser 722 is connected to the direct advertiser's web site (notshown) i.e. a third-party website.

The basic operation of the advertisement system 720 provides for theselection of advertising targeted to the end-user on an affiliatewebsite 724. The predictive model 728 processes all of the informationalcontext in the database 730 and selects a single direct advertisementfrom a database of available advertisements 734, or a ranked order ofdirect advertisements to advertising server 732, to which the end-useris most likely to respond.

The direct advertisement that is selected is dynamically deliveredthrough to the end-user for him or her to view through a web browser 722to advertising space 726. The end-user may then interact with the directadvertisement. The end-user may respond to an interactive button on theadvertisement, an Internet forms or lead-form, a fax-back systems, atoll-free number, a direct mail postcard. This interaction with thedirect response advertisement(s) are used as explicit feedback and thiscontext is updated in database 730. Feedback is transmitted back to thepredictive model 728 directly from the end-user web browser 720 orthrough a proxy server, such as, the advertising server 732. Forexample, filling out a form, placing an order, supplying a credit cardnumber, completing a survey, providing a survey or lead form, executinga software download, etc. are all forms of transactions. This feedbackmay include detailed information about a particular end-user's responseto a direct advertisement, as well as the context, under which theresponse was obtained. Alternatively, the feedback may include a subsetof the preceding information. Or, the feedback may convey informationthat the end-user did not respond to the advertisement, if such was thecase. The feedback information is used by the predictive model 728 tofurther refine future predictions about the optimal advertisements todeliver and maximize utilization of the advertising space 726.

Transaction results of the direct advertisement placement are reportedback to the predictive model 728. In one example, the directadvertiser's server 732 reports transactions back to the advertisingserver by a proxy (not shown) server. In another example, emailreporting is used.

The history of website visits and browsing history may also be used todeliver relevant messaging. For example, if a given user has visited ababy products site, and a prepaid college site, the reports back theadvertising server indicates the user is interested in informationrelated to babies.

Chatbot System 750

Many of the functional details of chatbot system 750 are described inFIGS. 1-6 above. FIG. 7 is a high level comparison of chatbot system 750as compared to the advertising system 720 and remarketing system 780. Anend-user using a web browser or other applet or application 752 on acomputer, such as a smart phone, a laptop or tablet computer, begins byrequesting an affiliate website 754. A chatbot server 752, includes thepredictive model 758 coupled to one or more context database(s) 760. Thechatbot server 752 includes a chat engine 550 described above in FIG. 5that responds to questions sent by end-users via chat window chatbot756.

In operation, when an end-user, browsing on the Internet, accesses anaffiliate's web site 724 which would typically include media content,triggers the chatbot 756 to launch. Launching of the chat window can betriggered by a variety of activities including no activity from theend-user within a settable period of time, leaving a web page, selectingspecific links on a web page; a change in domain; abandoning a shoppingcart; minimizing a web page; inactivity timer expiring; selection ofclick to chat button; and cursor position on the web page, or acombination of these. Once the chat window is launched, the chat engine550 performs as described above in FIGS. 1-6. The chat engine in chatserver 752 using a predictive model 758 processes the informationalcontext in the database 760 and selects a single direct response from adatabase of available responses 760 to the end-user. In one example,initial greetings and the sales pitch may each be individually tailoredto a specific user. For example, based on previous history on aparticular affiliate website, questions about discounts and shipping maybe common. Using this information the initial sales pitch for theaffiliate website may be tailored to predict this question “TodayOnly—10% off coupon and Next Day”. This sales pitch would be presentedeven before the end-user asks a question.

Information from the end-user through chat window 756 includingquestions, responses and reasons including “why” a transaction is beingdiscontinued by the end-user are stored in database 760. This reasonprovides important additional information to the end-user's behavior.This interaction with the direct response from the end-user via chatwindow 756 is used as explicit feedback and this context is updated indatabase 760. For example, filling out a form, placing an order,supplying a credit card number, completing a survey, providing a surveyor lead form, executing a software download, etc. are all forms oftransactions. This feedback may include detailed information about aparticular end-user's response to a direct advertisement, as well as thecontext under which the response was obtained. Alternatively, thefeedback may include a subset of the preceding information. Or, thefeedback may convey information that the end-user did not respond to theadvertisement, if such was the case. The feedback information is used bythe predictive model 758 to further refine future predictions about theoptimal responses or offers to deliver from the chat server 752 to theend-user through chat window 756.

ReMarketing System 780

FIG. 7 is a high level comparison of remarketing system 780 as comparedto the advertising system 720 and chatbot system 750. As with both theadvertising system 720 and chatbot system 750, an end-user uses a webbrowser or other applet or application 782 on a computer and begins byrequesting an affiliate website 784. An advertising server 792, such asan email server and/or short-message-service server is typically used.The advertising server 792 includes the predictive model 788 coupled toone or more context database(s) 790. The advertising server 792 includesa group of “offers” or direct advertisement in an advertisement database794.

In operation, when an end-user, browsing on the Internet, accesses anaffiliate's web site 784 which would typically include media content andadvertising space 786, the end-user's browser 782 generates an httpmessage to get the information for the desired Web page. The affiliate'sweb site 784, in response, transmits one or more messages backcontaining the information to be displayed by the end-user's browser782. In addition, the advertising server 792, using a local database 794containing advertising and user data, provides additional informationcomprising one or more objects, such as a banner advertisement. Uponclicking through by selecting the advertising space 786, such as abanner advertisement, the browser 782 is connected to the directadvertiser's web site (not shown) i.e. a third-party website.

The basic operation of the advertisement system 780 provides for theselection of email or text advertising targeted to the end-user. Thepredictive model 788 processes all of the informational context in thedatabase 790 and selects a single direct advertisement from a databaseof available advertisements 784, or a ranked order of directadvertisements to advertising server 792, to which the end-user is mostlikely to respond.

The direct advertisement that is selected is dynamically deliveredthrough to the end-user for him or her to view through email and/or textmessaging. The end-user may then interact with the direct advertisement.The end-user may respond to an interactive button on the advertisement,an Internet forms or lead-form, a fax-back systems, a toll-free number,a direct mail postcard. This interaction with the direct responseadvertisement(s) are used as explicit feedback and this context isupdated in database 790. Feedback is transmitted back to the predictivemodel 788 directly from the end-user through email, text or SMSmessaging, a web browser 782 or through a proxy server, such as, theadvertising server 732. For example, filling out a form, placing anorder, supplying a credit card number, completing a survey, providing asurvey or lead form, executing a software download, etc. are all formsof transactions. This feedback may include detailed information about aparticular end-user's response to a direct advertisement, as well as thecontext, under which the response was obtained. Alternatively, thefeedback may include a subset of the preceding information. Or, thefeedback may convey information that the end-user did not respond to theadvertisement, if such was the case. The feedback information is used bythe predictive model 788 to further refine future predictions about theoptimal advertisements to deliver and maximize utilization of the emailor text messaging.

Using Feedback From ChatBot System 780

As the inventors have discovered, the chatBot system 750, unlike theadvertising system 720 and the remarketing system 780, routinelyreceives insights to end-user behavior including reasons “why” atransaction is being discontinued by the end-user. These insights andother information are stored in database 760. In one example, thisvaluable reasoning is shared with either the advertising system 720 andthe remarketing system 780 or both. For example, an end user is lookingto purchase a good and while interacting with the chat server 752, theend-user shares that reason why they are discontinuing a transaction.The chat server 752 associates this information with the end-user. It isimportant to note that although a good is being described, the followingexample is applicable to the purchase of a service as well. The reasonin this example is because one or more of:

-   -   shipping the selected good is too expensive.    -   shipping is not available to a shipping address provided by the        prospective customer.    -   the available selection of the good is limited e.g. not correct        sizes, color, quality.    -   financing is necessary to complete a purchase of the good.    -   Inability to pay with a specific instrument. For example the web        site may only accept Visa and Mastercard, users wants to pay        with AMEX or with a check or through PayPal.    -   inadequate security of the web page of the affiliate website,        e.g. the merchant is unknown to the end-user or the user is on a        public computer.    -   an inconvenient time to complete the transaction, e.g. end-user        is catching a plane, getting into a cab, is currently at work.    -   an inconvenient location of the computer of the end-user e.g.        the computer is in an office or is a public computer such as a        library.    -   Selected good or service is perceived to be too expensive.    -   User may feel that he or she does not qualify for the offer. For        example, the user may believe they are ineligible for a loan        because of poor credit.

This information stored in database 760 is shared with an advertisingsystem. Next time an advertisement is selected by the predictive model,it has a reason why the end-user as associated by the chat server 752failed to complete a transaction and using this additional informationto select the appropriate promotion or advertisement. For example,“Free-Shipping on all orders placed before mid-night” or “Check out ourexpanded collection of clothing for Big and Tall Men” or “Specialfinancing and payment plans available today”. The chat server 752 canreconcile associations with the advertising system 720 by placing anhttp cookie associated with the affiliate website for identification ofan end user session, end-user's preferences, end-shopping cart contents,or anything else that can be accomplished through storing text data. Inanother example, the chat server 752 is given access to http cookiesplaced by either the advertising system 720 and/or the remarketingsystem 780 to associate information with a given end-user.

Sharing the end-user reasoning received by the chat server 752 to theadvertising system 720 greatly enhances the quality of the promotion oradvertisement sent by advertising system 720 to the end-user. Forexample, if a user is searching for computers a day or two ago andreviewed but did not purchase a computer, the predictive model will givehigher priority to any advertisement from an available advertisementpool for computers to match the end-users interests.

In a similar manner, sharing the end-user reasoning received by the chatserver 752 to the remarketing system 780 greatly enhances the quality ofthe promotion or advertisement sent by remarketing system 780 to theend-user. The advertisement can be real-time or delayed as describedbelow. The advertisement can be delivered through the chat server 752,an email or text message 786, a voice mail message through aninteractive voice system 796, a personalized print advertisement orpostal advertisement 797 or a personalized broadcast advertisementthrough television and radio 798.

In one example, a temporal aspect to the advertisement is set by theadvertising system 720 or remarketing system 780. End-user abandoning ashopping cart because selection is poor, may receive an advertisementonly after the available selection of the goods/services from a givenaffiliate website has been expanded.

In another example, the present invention targets the abandon user forcomplimentary products. For example the user buys a used car, thepresent invention could cross-sell an extended warranty.

FIG. 8 is an example record 800 populated by the chat server withinformation including reason for discontinuing a transaction. Thisinformation can be populated for a single user id through use of httpcookies or other mechanisms. The record includes an affiliate websiteID, a reason for discontinuing a transaction 804, one or more items 806,such as a good or service being reviewed by end user, a unique end userid 808 to allow tracking across multiple affiliate sites and websessions. The record 800 includes a date field 810 and time field 812,uniform resource location (URL) 814 of website as well. Information inthis record is shared from the chatbot system 750 with the advertisingsystem 720 or the remarking system 780 or both.

High-Level Flow of Using Feedback from Chatbot System 780

The process begins in step 902 and immediately proceeds to step 904 inwhich at least one chatbot is presented on a computer of a first party,such as end-user, as part of at least one messaging window of a web pagedocument of a second party, an affiliate website. Next in step 906,information is received from the computer of a first party, in responseto the chatbot, wherein the information includes at least oneexplanation by the first party for discontinuing a transaction with thesecond party. The transaction in one example is a sales-relatedtransaction for a purchase of at least one of a good and a service fromthe second party. The sale-related transaction can include a lead-form.

The information received is associated with the first party in step 908.At least one advertisement from a third-party database is selected withthe information received. Third party marketing databases includedatabases from advertisers (such as, ADSENSE, ADBRITE, BIDVERTISER,CHITIKA, INFOLINKS, POCKET CENTS, KONTERA, CLICKSOR, EXIT JUNCTION,DYNAMIC OXYGEN, ADBULL) and remarketing databases ICONTACT, BENCHMARKEMAIL, MAILIGEN, PINPOINTE, CONSTANT CONTACT, CAMPAIGNER, GRAPHICMAIL,MAD MIMI, VERTICAL RESPONSE, MAILCHIMP). In step 912, after a settableperiod of time, the advertisement is sent to the first party and theflow terminates in step 914.

Information Processing System

FIG. 10 is an example of an information processing system 1000 such asthe chat server 752 of FIG. 7 with chat engine 550 of FIG. 5 as shown.In information processing system 1000 there is a computer system/server1002, which is operational with numerous other general purpose orspecial purpose computing system environments or configurations.Examples of well-known computing systems, environments, and/orconfigurations that may be suitable for use with computer system/server1002 include, but are not limited to, personal computer systems, servercomputer systems, thin clients, thick clients, hand-held or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputersystems, mainframe computer systems, and the like.

Computer system/server 1002 may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes.

As shown in FIG. 10, computer system/server 1002 is shown in the form ofa general-purpose computing device. The components of computersystem/server 1002 may include, but are not limited to, one or moreprocessors or processing units 1004, a system memory 1006, and a bus1008 that couples various system components including system memory 1006to processor 1004. Bus 1008 represents one or more of any of severaltypes of bus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, and a processor or localbus using any of a variety of bus architectures. By way of example, andnot limitation, such architectures include Industry StandardArchitecture (ISA) bus, Micro Channel Architecture (MCA) bus, EnhancedISA (EISA) bus, Video Electronics Standards Association (VESA) localbus, and Peripheral Component Interconnects (PCI) bus.

Computer system/server 1002 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 1002, and it includes both volatileand non-volatile media, removable and non-removable media.

The system memory 1006 can include computer system readable media in theform of volatile memory, such as random access memory (RAM) 1010 and/orcache memory 1012. Computer system/server 1002 can further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 1014 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 1008 by one or more datamedia interfaces. As will be further depicted and described below,memory 1006 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 1016, having a set (at least one) of program modules1018, may be stored in memory 1006 by way of example, and notlimitation, as well as an operating system, one or more applicationprograms, other program modules, and program data. Each of the operatingsystems, one or more application programs, other program modules, andprogram data or some combination thereof, may include an implementationof a networking environment. Program modules 1018 generally carry outthe functions and/or methodologies of embodiments of the invention asdescribed herein.

Computer system/server 1002 may also communicate with one or moreexternal devices 1020 such as a keyboard, a pointing device, a display1022, etc.; one or more devices that enable a user to interact withcomputer system/server 1002; and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 1002 to communicate withone or more other computing devices. Such communication can occur viaI/O interfaces 1024. Still yet, computer system/server 1002 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 1026. As depicted, network adapter1026 communicates with the other components of computer system/server1002 via bus 1008. It should be understood that although not shown,other hardware and/or software components could be used in conjunctionwith computer system/server 1002. Examples include, but are not limitedto: microcode, device drivers, redundant processing units, external diskdrive arrays, RAID systems, tape drives, and data archival storagesystems, etc.

Mobile Device

Turning now to FIG. 11 is an example of screen shot 1100 of a mobileinformation processing system displaying a web page with a help button1102. Upon selection of the help button by the user using touch screen,mouse, or other pointing device, a messaging window 1220 is displayed,with an agent named “Michelle” 1222 as shown in FIG. 12. In addition twogreetings are shown 1224 “Good Afternoon. How can I help you?” and 1226“You'll get everything you need to start a successful online businessand learn how the professionals do it. Instant part-time or full timeopportunity.” Also shown is a soft keyboard 1210 that is launchedautomatically with the messaging window 1220. In some examples, voice orhandwriting recognition can be used in place of or simply to augmentuser input via the soft keyboard 1210.

Selection Using Demographic and Behavioral Information

FIG. 13 is an example over-all flow 1300 of information being used forselection of the chatbot. The selection of the chatbot includes aninitial greeting, an appearance of the messaging window, and a pictureof the agent. There are two major categories of information beingused: 1) demographic information 1306, and 2) behavioral information1316. The two major categories of inputs are further described withreference to table 1400 in FIG. 14 below. Starting with demographicinformation 1306, metadata 1304 such as information provide by atelephone company or referring website is used with demographicinformation 1306 associated with end user. Demographic informationincludes location of end user, age of end user, gender of end user,ethnicity of end user, language of end user, religious affiliation, etc.It is important to note that not all the geographic information for anend user may be available for each row of table 1400. Further, settingsare adjusted through a management console. An example management consoleis shown in FIG. 9 and FIG. 10 of U.S. Pat. No. 7,962,578, which ishereby incorporated by reference in its entirety.

Turning to behavioral information 1316. Items in table 1400 in FIG. 14below are used in the behavioral information. Examples include searchterms 1310, web page history 1312, and metadata 1314 are used. Again itis important to note that not all the behavioral information for an enduser may be available. Even with minimal behavior information beingavailable, the selection algorithm is still effective. An examplemanagement console is shown in FIG. 9 and FIG. 10 of U.S. Pat. No.7,962,578, which is hereby incorporated by reference in its entirety.

In step 1320 a combination of demographic information 1306 andbehavioral information 1316 is used to select an initial greeting, anappearance of the messaging window, and a picture of an agent isselected. The selections of the chatbot attributes in step 1320 includeusing history and machine learning algorithms, such as Bayesianalgorithms and neural networks. The machine learning algorithms caninclude both supervised and unsupervised algorithms. Further, settings1308, 1318 are adjusted through a management console. It may overrideany of the selections or enhance any selections being made by themachine learning algorithms.

Once the information is customized the chatbot for a specific user, thechatbot is launched in step 1330.

A first test in step 1334 is determined if user input or message isreceived. If message is received in step 1336, one or more keywords inthe message are identified. A response is selected using a combinationof demographic information 1306 and behavioral information 1316 to sendo the end user based on the keywords identified in the message. Theselection of the response in step 1336 includes using history andmachine learning algorithms, such as Bayesian algorithms and neuralnetworks. The machine learning algorithms can include both supervisedand unsupervised algorithms.

The message or response 1338 is sent from chatbot to user in step 1338.In one example, the message includes an advertisement, such a salespitch, a coupon, a link, response advertisement may be sent to user bychatbot.

The process continues to step 1340 where the demographic information1306 and behavioral information 1316 is updated. The process returns tostep 1334 waiting for user input.

If no user input is received in step 1334, a determination is made instep 1350 if the chatbox is terminated. If it is terminated, the flowterminates in step 1352. The chatbot can be terminated by the user, orthrough a timer, or closing a web browser. Otherwise, in the event thechatbot is not terminated, the process loops back to step 1334 where theflow waits for user input.

FIG. 14A and FIG. 14B is table of information used by the behavior modelof FIG. 13. Turning now to table 1400 of FIG. 14, the following columninformation is now defined:

-   -   Geographic Location of End User 1410—the location of the person        on the earth. The granularity of geographic location can be as        broad a continent i.e. North America, or as specific as a global        positioning system coordinate or wireless device triangulation        on a street or inside a building. Geographic location is        typically part of the demographic information of an end user.    -   Age of End User 1412—is the length of time a person has lived.        The granularity of the age can vary from an exact birth date of        the end user to just a range i.e. 14-17 years old. Age is        typically part of the demographic information of an end user.    -   Gender of End User 1414—is the end user a male or female. It can        also vary depending on cultural difference where social        differences come into effect i.e. a biologically male person        acting in a female gender. Gender is typically part of the        demographic information of an end user.    -   Ethnicity of End User 1416—is a social group that has common        national or cultural traditions. Typically religion and language        is also a common trait. Ethnicity is typically part of the        demographic information of an end user.    -   Language 1418—is a verbal or non-verbal style of communication.        Major verbal languages are English, French, Spanish, German,        Portuguese, German, Russian, Hindi, Mandarin, Cantonese, Arabic,        Hebrew, and more. Examples of a non-verbal language is American        Sign Language or Braille. Language is typically part of the        demographic information of an end user.    -   Religious Affiliation 1420—is a group of people that share a        common set of organized beliefs. Major religions include        Christianity, Islam, Hinduism, Judaism and Buddhism. Religious        affiliation is typically part of the demographic information of        an end user.    -   Traffic Source 1422—is an understanding of how a user ends up on        a particular web page. The traffic source can be a referring        website from which a user navigated. Other traffic sources are        typically from a clickable or selectable link, such as those        from a search engine result, a search engine sponsored        advertisement, a webpage advertisement, an email, and a text        message.    -   Web Page History 1424—is a record of web pages and/or web sites        that a user has visited in the past. The web page history can be        viewed by date, time of day, title, address (URL), alphabetical        order, or number of repeat visits.    -   Number of Related Web pages 1426—are a quantity of pages that        share a common attribute such as type or category. Related web        pages by type or category would include news, entertainment,        search, retail, social networking.    -   Terms 1428—are a quantity of search terms used by a given user        for a search.    -   Search Engine Terms 1430—are the words that a user has typed or        entered into a search engine. These are the terms the search        engine will try to match with the most relevant results.    -   Items Reviewed On Web Pages 1432—is a quantity of products or        services a user have looked at one a web site domain or across        web site domains.    -   Price Of Item(s) on Web page 1434—is the amount of money        required for payment of a good or a service.    -   Dollar Amount in shopping cart 1436—an aggregate or total sum of        all the items in a shopping cart. The aggregate or sum may in        one example take into consideration quantities. Where as in        another examples quantities are not multiplied by the price of        each item to produce a total sum.    -   Payment Method 1438—are the ways a customer pays for the good or        service. Typical payment methods include cash, checks, credit or        debit cards, money orders, bank transfers and online payment        services such as PayPal.    -   Time and Date 1440—is the time and date the user is visiting a        web page. The time and date may be broad to just a month or year        or more specific to time and exact date. Moreover, the time and        date can be stored in for each web page visited in the web page        history.    -   Visitor or Member/Registered User 1442—denotes whether the user        is registered or a member belonging to a group related to the        web page being viewed. Examples of members would be in an awards        program, warehouse club, airline frequent flyer club, hotel        club, and more. Otherwise if the user is not identified, they        are viewed as a visitor.    -   Previous Visitor (as opposed to Buyer) To Website 1444—whether a        specific user has previously visited a given web page. This        field is used to distinguish from a previous buyer. Tracking        whether an end user is a previous visitor versus a buyer is        important because it generally indicates an interest in a good        or service at a website. However, some other factor may be        causing the previous visitor from postponing purchasing a good        or service. Common factors for postponing a purchase include        shipping prices, availability, stock, payment types accepted and        more.    -   Telco 1446—is an abbreviation for “telephone company.” The        telephone company provides telephony and data communications        services. Examples of telephone companies include ATT, Sprint,        Verizon, and Comcast.    -   Operating System of End User Device 1448—is the software that        manages the computer hardware. Popular operating systems include        Windows, Mac OS, Linux, Android, Windows, iOS, and BlackBerry        OS.    -   Screen Size/Screen Resolution of End User Device 1450—the screen        size or display size is the physical area where multimedia        content and web pages are displayed. Screen size can be used in        conjunction with operating system to determine whether to select        an appearance and size of a message based on screen real estate.        Screen resolution is the number of picture elements or pixels.    -   Other Website Supplied Information 1452—is metadata that may be        supplied by the owner of the web page being viewed or via a        search provider or advertiser.

The rows 1460 to 1476 are populated with numerous examples of bothdemographic and behavioral information. The information in table 1400 iscaptured through various techniques including browser cookies. Cookieand tracking technology are useful for gathering information such asbrowser type and operating system, tracking the number of visitors to awebsite, and understanding how visitors use the website. Cookies andother tracking technology can be used to be tied to personal informationof an end user. Aggregate cookie and tracking information may be sharedobtained with or shared with third parties.

There are two basic types of trackers, “first-party” trackers, whichtransfer text files to end user's computers in order to enable websitesto remember user information, such as items they've placed in theirshopping cart or field data for forms that have already been filled out,and “third-party” trackers, which also transfer files to users'computers in order to gather data about much more than just theirsession on the tracker's site of origin.

When a third-party tracker is downloaded by a computer, it assigns thatmachine with a unique identification number (something like“6xd714db1433 . . . ”) stored inside a cookie associated with the webbrowser being used. If the tracker is using a technology called a“beacon,” and can even record end user keystrokes.

When a tracker records websites visited and end user search queries,instant messages or emails using web-based systems, comments, etc.—itcan quickly assemble a very thorough and accurate profile for each enduser.

In fact, third-party trackers using beacon technology can match the datathey collect about a specific end user in real time with other databasescontaining geolocation, financial, and medical information in order toexpand the end user's profile to predict the specific end user's age,gender, zip code, income, marital status, parenthood, home ownership, aswell as unique interests.

Two rows of table 1400 are now discussed as examples of tracking andbuilding an accurate profile for two specific end users. The firstexample is described with reference to the entries in row 1460. Theinformation already collected about this particular end user includes azip code location, approximate age, exact gender, exact ethnicity, exactlanguage, and no religious association. The traffic source is ahyperlink from a web search engine. Based on other information frombehavioral entries i.e. browsing history, price of items in cart, searchterms, it appears this end user is a frequent visitor. This specific enduser is using a non-mobile device based on the display size andresolution, and OS. Therefore an initial greeting of financing orpayment methods may encourage this end user to purchase a good or aservice.

The second example is described with reference to the entries in row1464, a lot of information is already collected about a particular enduser including a very detailed GPS location, exact age, exact gender,exact ethnicity, exact language, exact religion. The traffic source isunknown. Based on other information from behavioral entries i.e.browsing history, price of items in cart, search terms, it appears thisend user is motivated. This specific end user is using a mobile devicebased on the display size and resolution, and OS. Therefore an initialgreeting announcing free shipping or a coupon viewable on a mobiledevice for free shipping on orders over $150 may convert this motivatedend user to purchase.

Browser Address Bar Replacement or Overlay

Turning now to FIG. 15, illustrates major components of a web browser1500. A top bar 1502 also called a menu bar is shown. The web browserincludes a browser window 1550 that renders text, image, and videocontent 1552 from a given web page. In this example the web page<www.page1.com> is shown in the address bar 1506. In other web browsers,the address bar 1506 bar also operates as a search bar. A selectableback navigation button 1504 to return to the previous web page or screenis shown. A title 1508 of the webpage in the web browser window 1550 isalso illustrated. A browser tab 1510, enables multiple web sites to beopen in a single web browser window. The home button 1512 is the defaultstart page of the web browser 1500. The favorites button 1514 brings updesignated webpages and news feeds. The tools icon 1516 allows thebrowser settings to be managed including items such as appearance,security, privacy and more. The web page content 1550 can be scrolled upor down or left or right. In this web browser a vertical scroll bar 1520and horizontal scroll bar 1522 indicates the relative position of theweb page content 1550 within the browser window 1502. Optionally, one ormore bottom bars 1524 are shown. The bottom bar 1524 may have status1528. One status includes the current state of the web page or windowbeing displayed. For example, whether it is secure or not the page issecure 1526, its certificate, what is currently being loaded on thepage, and the web address.

FIG. 16 illustrates a web browser 1600 rendering an example web pagecontent 1652 with a primary top bar 1602 that includes a primary title1604, an address bar 1606, and a browser window 1602. In this examplethe web page content 1652 is displayed in the browser window 1650. Notethis web browser 1600 has fewer components and features of the webbrowser 1500 in FIG. 15. This browser 1600 in FIG. 16 may be more suitedto handheld devices such as cell phones and tablets in which screen realestate is more limited.

FIG. 17 illustrates the web browser of FIG. 16 during a scrolloperation. Note the web page content of the example web page 1752 isscrolled downward with respect the content 1652 of FIG. 16. The nativeor primary top bar 1602 disappears 1602. The scrolling of the web pagecontent 1752 in any horizontal or vertical direction is a novel firsttrigger. An event handler such as window.onscroll is used. In anotherexample other triggers are contemplated including a timer, eye tracking,and other user feedback.

In another example, in which the software code to track the firsttrigger is loaded after the primary or native top bar disappears or toincrease the reliability of determining when the primary or native topbar 1602 disappears, the size of the browser window is determined. Thehandler such as window.onresize is used. This determines the size of thewindow. Depending on preset percentage of how much the window sizechanges, this can act as the first trigger to determine the native orprimary header has disappeared.

In response to this first trigger, a secondary top bar 1702 is presentedat substantially the identical position, i.e. the primary position, asthe primary top bar is either being replaced or overlaid with thesecondary top bar. Notice that this secondary top bar 1702 hassubstantially the same visual appearance as the primary address bar.Moreover, the secondary top bar in one example is part of the web pagecontents 1752 itself rather than a component of a web browser 1700. Thisis important since on may mobile browser the top bar often disappearsonce the user starts scrolling. Using this approach a user does notnotice that the replacing or overlaying of the primary top bar 1602 withthe secondary top bar 1702. In this example the primary address bar 1606and the primary title 1604 of FIG. 16 is also replacing or overlayingwith a secondary address bar 1706 and secondary title 1704. Just asdescribed for above for the secondary top bar 1702, the secondaryaddress bar 1706 and the secondary title 1704 has substantially the samevisual appearance as the primary address bar 1606 and the primary title1604. Using this approach a user does not notice that the replacing oroverlaying of the primary top bar 1602 with the secondary top bar 1702.

FIG. 18 illustrates a chat window 1800 being launched and in focus afterthe receiving user input in the vicinity of the secondary address bar.The chat window 1840 in this example is on top of the previous browserwindow 1702 of FIG. 17 as a separate window or dialog box. Thecombination of two types of trigger events is novel. The first triggeris a user scrolling the web page contents 1752, or a timer expiring, ortracking a user gaze position or other user feedback. In response tothis first trigger, the secondary top bar 1702 is presented. Next,further user input, for example, a user typing information in thesecondary address bar 1806, acts as a second trigger. This secondtrigger is interpreted by the webpage owner that user is navigating awayfrom the current displayed website to a different website. Thiscombination of the first trigger and the second trigger acts as a typeof “exit popup” trigger. The “exit popup” trigger is used in many olderor legacy browsers especially on older Microsoft Windows based desktopoperating systems. However in newer web browsers and new operatingsystems, especially most mobile operating systems, including Apple's iOSand Google's Android operating systems, exit popups are blocked. Usingthe combination of the first trigger and the second trigger describedabove, the webpage owner using the messaging window or chat window 1840can attempt to recover lost customers or cross-sell or up-sell them.This novel first triggering and then second triggering mechanism isdesigned to effectively reduce shopping cart, lead and registrationabandonment. The chat window 1800 present invention has to be capable ofup-selling and cross-selling as well.

FIG. 19 is a flow diagram 1900 of replacing or overlaying the primarytop bar with a secondary top bar and launching the chat window. Theprocess starts at step 1902 and immediately proceeds to step 1904 inwhich the content of a webpage with a primary address bar and displaywindow is shown. An example is shown in FIG. 16.

Step 1906, a determination is made if the window is scrolling thewebpage contents of the web page in a vertical direction, a horizontaldirection, or a combination of the two directions. In another example, atimer expiring, or tracking user eye movement, or other user input maybe used. In the event the webpage content is being scrolled, such as inthe vertical direction as shown in FIG. 17. The user input can betactile input through a mouse, keyboard or other input device, voiceinput or eye tracking technologies. The process continues to step 1908.Otherwise the process loops back to step 1904. In step 1908, a messageis presented as at least one of a new tab, a previously invisiblegraphical element such as a secondary top bar 1702. The processcontinues to step 1910.

In step 1910, the process determines if user input is received in thevicinity of the secondary top bar 1706 or new tab 1702. In response to auser input being received, the system interprets this as a trigger tolaunch the chat window or messaging window 1840. The chat window 1840may include an audio sequence associate with it such as voice, or music,or alert tone.

In one example, messaging window includes a tool bar with userselectable icons. In another example, the messaging window includesdisplaying a web feed, a web channel feed, a rich site summary (RSS) ora combination thereof.

Like other embodiments described, the user is typically a first party,the webpage contents displayed in the browser is hosted by a secondparty, and the message is managed via a web-based management console bya third party, wherein each of the first party, the second party, andthe third party are distinct and unrelated entities.

Non-Limiting Examples

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A computer-implemented method for presenting amessage, the method comprising: displaying, on a handheld device,contents of at least one webpage with webpage contents in a browserwindow with a primary top bar located at a primary position, and adisplay window within a single browser tab, and wherein the browserwindow includes a primary address bar located at a primary position; inresponse to receiving an input to scroll the webpage contents,triggering a presentation of a previously invisible secondary top barwithin the webpage contents of the webpage is now made visible withinthe browser window and displayed in the primary position of the primarytop bar, thereby replacing the primary top bar of the browser windowwithin the single browser tab; and in response to receiving user inputin a vicinity of the previously invisible secondary top bar, triggeringa presentation of a messaging window to appear within the browser windowitself, another tab of the browser window, or a combination thereof andwherein the previously invisible secondary top bar is presented with atleast a secondary address bar which is displayed in the primary positionof the primary address bar, thereby replacing the primary address bar ofthe browser window.
 2. The computer-implemented method of claim 1,wherein the browser window includes a primary address bar located at aprimary position, and wherein the previously invisible secondary top baris presented with at least a secondary address bar which is displayed inthe primary position of the primary address bar, thereby replacing theprimary address bar of the browser window.
 3. The computer-implementedmethod of claim 2, wherein the browser window includes a primary titlelocated at a primary position, and wherein the previously invisiblesecondary top bar is presented with at least a secondary title which isdisplayed in the primary position of the primary title, therebyreplacing the primary title of the browser window.
 4. Thecomputer-implemented method of claim 1, wherein the browser windowincludes a primary bottom bar located at a primary position, and whereinthe previously invisible secondary top bar is presented with at least asecondary bottom bar which is displayed in the primary position of theprimary bottom bar, thereby either replacing or overlaying the primarybottom bar of the browser window.
 5. The computer-implemented method ofclaim 1, wherein the browser window includes at least two primary tabslocated at a primary position, and wherein the previously invisiblesecondary top bar is presented with at least two secondary tabs whichare displayed in the primary position of the two primary tabs, therebyeither replacing or overlaying the two primary tabs of the browserwindow.
 6. The computer-implemented method of claim 1, wherein the inputto scroll the webpage contents is a user's tactile input.
 7. Thecomputer-implemented method of claim 1, wherein the input to scroll thewebpage contents is tracking a user's eye movement.
 8. Thecomputer-implemented method of claim 1, wherein the input to scroll thewebpage contents is a user's voice input.
 9. The computer-implementedmethod of claim 1, wherein the previously invisible secondary top bar isa new tab and the new tab has focus to receive further input.
 10. Thecomputer-implemented method of claim 1, wherein the previously invisiblesecondary top bar is made visible to appear as a separate window withinthe browser window and the separate window has focus to receive furtherinput.
 11. The computer-implemented method of claim 10, wherein thepreviously invisible secondary top bar includes a tool bar with userselectable icons.
 12. The computer-implemented method of claim 10,wherein the previously invisible secondary top bar includes displaying aweb feed, a web channel feed, a rich site summary (RSS), or acombination thereof.
 13. The computer-implemented method of claim 1,wherein a handheld device is operated by a first party, the webpagecontents displayed in the browser window is hosted by a second party,and the previously invisible secondary top bar is managed via aweb-based management console by a third party, wherein each of the firstparty, the second party, and the third party are distinct and unrelatedentities.
 14. A computer-implemented method for presenting a message,the method comprising: displaying, on a handheld device, contents of atleast one webpage with webpage contents in a browser window with aprimary title of the webpage and a primary top bar located at a primaryposition, and a display window within a single browser tab, and whereinthe browser window includes a primary address bar located at a primaryposition; and in response to receiving an input to scroll the webpagecontents, triggering a presentation of a previously invisible secondarytop bar within the webpage contents of the webpage is now made visiblewithin the browser window and displayed in the primary position of theprimary top bar, thereby replacing the primary top bar of the browserwindow within the single browser tab and wherein the previouslyinvisible secondary top bar is presented with at least a secondaryaddress bar which is displayed in the primary position of the primaryaddress bar, thereby replacing the primary address bar of the browserwindow.
 15. A system for presenting a message, the system comprising: acomputer memory capable of storing machine instructions; a processor incommunication with said computer memory, said processor configured toaccess the computer memory, the processor performing displaying, on ahandheld device, contents of at least one webpage with webpage contentsin a browser window with a primary top bar located at a primaryposition, and a display window within a single browser tab, and whereinthe browser window includes a primary address bar located at a primaryposition; in response to at receiving an input to scroll the webpagecontents, triggering a presentation of a previously invisible secondarytop bar within the webpage contents of the webpage is now made visiblewithin the browser window and displayed in the primary position of theprimary top bar, thereby replacing the primary top bar of the browserwindow within the single browser tab; and in response to receiving userinput in a vicinity of the previously invisible secondary top bar,triggering a presentation of a messaging window to appear within thebrowser window itself, another tab of the browser window, or acombination thereof, and wherein the previously invisible secondary topbar is presented with at least a secondary address bar which isdisplayed in the primary position of the primary address bar, therebyreplacing the primary address bar of the browser window.
 16. Anon-transitory computer program product tangibly embodying computerreadable instructions which, when implemented, cause a computer to carryout the steps of a method for presenting a message, comprising:displaying, on a handheld device, contents of at least one webpage withwebpage contents in a browser window with a primary top bar located at aprimary position, and a display window within a single browser tab, andwherein the browser window includes a primary address bar located at aprimary position; in response to receiving an input to scroll thewebpage contents, triggering a presentation of a previously invisiblesecondary top bar within the webpage contents of the webpage is now madevisible within the browser window and displayed in the primary positionof the primary top bar, thereby replacing the primary top bar of thebrowser window within a single browser tab; and in response to receivinguser input in a vicinity of the previously invisible secondary top bar,triggering a presentation of a messaging window to appear within thebrowser window itself, another tab of the browser window, or acombination thereof, and wherein the previously invisible secondary topbar is presented with at least a secondary address bar which isdisplayed in the primary position of the primary address bar, therebyreplacing the primary address bar of the browser window.